﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Entidades.Sistema.Venta;

namespace Entidades.Sistema.Produccion
{
    public class DiagramacionEstadoCancelada : DiagramacionEstado
    {
        public DiagramacionEstadoCancelada(DiagramacionProduccion contexto)
            : base(contexto)
        {
            _contexto = contexto;
        }
        public override List<AbstraccionEstado> proximosEstados
        {
            get
            {
                List<AbstraccionEstado> lista = new List<AbstraccionEstado>();
                return lista;
            }
        }

        public override short idEstado { get { return (short)EnumEstados.Cancelada; } }        

        public override string descrip
        {
            get { return "Cancelada";}
        }
        public override bool bajaStock
        {
            get { return true; }
        }
        public override string ToString()
        {
            return "Cancelada";
        }
        public override List<Pedido> obtenerPedidos
        {
            get
            {
                foreach (Pedido p in _contexto.Pedidos)
                {
                    _contexto.Pedidos.FirstOrDefault(x => x.IdPedido == p.IdPedido).Estado = PedidosEstado.Creado;
                    foreach (DetallePedido d in p.DetallePedidos)
                    {
                        _contexto.Pedidos.FirstOrDefault(x => x.IdPedido == p.IdPedido).DetallePedidos.FirstOrDefault(y => y.IdDetallePedido == d.IdDetallePedido).Estado = StatesDetalle.PendienteDiagramacion;
                    }
                }
                return _contexto.Pedidos;
            }
        }
    }
}
